Внутренние компоненты
Компоненты ниже -- внутренняя реализация SDK. Они не предназначены для прямого использования в модулях, но полезны для понимания.
encoder.JSONEncoder
Кастомный JSON-сериализатор для Flask. Сериализует объекты Model в dict, пропуская None-значения (по умолчанию include_nulls = False).
util._deserialize(data, klass)
Рекурсивная десериализация: dict -> Model, поддержка List[T], Dict[str, T], примитивов, datetime.
util.deserialize_model(data, klass)
Создает экземпляр модели из dict, итерируя по openapi_types и attribute_map.
typing_utils
Утилиты для определения generic-типов (is_generic, is_list, is_dict). Поддержка Python 3.7+.
default_controller
HTTP-хендлеры, зарегистрированные через connexion + OpenAPI spec:
-
scan_status_get()-- формирует ответ изscan_status_storage -
scan_got_packet_post()-- десериализует запрос, вызываетconfirm_packet_delivery -
scan_shutdown_post()--os._exit(0)
__main__.py
Альтернативная точка входа: python -m module_sdk. Запускает standalone HTTP-сервер на порту 8080 без пользовательской функции. Используется для разработки и тестирования самого SDK.